#pragma once
#include "DXAMLCommon.h"


struct IPALReader
{
public:
	/*0000 0x00000000 +00000000*/ virtual XUINT32  Release() = 0;
	/*0001 0x00000001 +00000004*/ virtual HRESULT  SetInput( XUINT32 cBuffer, XUINT8 * pBuffer) = 0;
	/*0002 0x00000002 +00000008*/ virtual HRESULT  Read(PALNodeType * pType) = 0;
	/*0003 0x00000003 +00000012*/ virtual HRESULT  GetPrefix( XUINT32 * pcString, XCHAR * * ppString) = 0;
	/*0004 0x00000004 +00000016*/ virtual HRESULT  GetNamespaceUri(XUINT32 * pcString, XCHAR * * ppString) = 0;
	/*0005 0x00000005 +00000020*/ virtual HRESULT  GetLocalName(XUINT32 * pcString, XCHAR * * ppString) = 0;
	/*0006 0x00000006 +00000024*/ virtual HRESULT  GetValue(XUINT32 * pcString, XCHAR * * ppString) = 0;
	/*0007 0x00000007 +00000028*/ virtual BOOL     EmptyElement() = 0;
	/*0008 0x00000008 +00000032*/ virtual HRESULT  FirstAttribute() = 0;
	/*0009 0x00000009 +00000036*/ virtual HRESULT  NextAttribute() = 0;
	/*0010 0x0000000A +00000040*/ virtual HRESULT  GetPosition(XUINT32 * pnLine, XUINT32 * pnColumn) = 0;
};